Although Obsidian was indirectly supported through the standard
Markdown import, its vault structure is distinct enough to warrant
its own dedicated import channel.
Import process
The first step is to obtain a .zip of your Obsidian vault:
First, identify where your Obsidian vault is located. The easiest way
to do so is to open Obsidian and right clicking the name of the vault at
the bottom of the left sidebar and then selecting Show in system explorer.
In your system explorer, right click the directory containing your Obsidian
vault and compress it to a ZIP file (e.g. on Windows, Compress To → ZIP).
Then, in Trilium Notes:
In the Note Tree,
right click and select Import into note.
In the Import from section, select Obsidian.
Upload the ZIP obtained in the previous step.
Supported features
The following features are preserved by Trilium during the import process:
Obsidian has many more types of callouts (tldr,
question, attention), these are
all mapped to one of Trilium's existing admonition types (e.g. Note, Tip,
Important).
Custom titles are kept and shown as a bold line at the top of the admonition,
since there is no concept of admonition title in Trilium.
Foldable callouts are imported expanded and without a fold marker.
Notes created by the Excalidraw community
plugin for Obsidian are converted to Canvas (same
underlying technology).
Note that custom features introduced by that plugin will not be supported.
Modification date is preserved via the information obtained from the .zip
archive, creation date is not recoverable so it's kept the same as the
modification date.
Properties
Properties are Obsidian's equivalent of Promoted Attributes. One of the core differences
between the two is where the property information is stored (i.e. name
and type): in Obsidian everything is stored at vault level and shared across
all notes, whereas in Trilium each page can have individual promoted attributes,
shared through Templates or
Attribute Inheritance.
Another important difference is that promoted attributes in Trilium are
always displayed, even if empty. In Obsidian, these are simply suggested
when creating a new property.
To reconcile all these differences, properties are converted to
Promoted Attributes at note level.
The following note types are supported:
Obsidian type
Trilium
Text or not defined
Single-valued text label
Number
Single-valued number label
Multitext
Multi-valued text label
Checkbox
boolean label (true/
false).
Date
date
Date & Time
datetime
Special properties
Obsidian has a few reserved property names, which are treated differently
in Trilium as well:
tags, where every tag is turned into its
own label (e.g. #one,
#twowhen tags: [ one, two ]).
aliases are simply mapped to individual
#aliaslabels
cssclasses, publish,
permalinkare ignored.
Limitations
Comments (%% syntax) are simply stripped.
Obsidian bases functionality is not preserved.
The closest equivalent in Trilium would be Collections but they work fundamentally
different because bases don't store particular notes, they act more like
a Saved Search with
a collection view.
Since the base query format is quite different to Trilium's Search syntax, it's unlikely they'll
ever be supported.
When a base is encountered, it is simply ignored from the import.
Canvases are not imported.
Theoretically they could map to either Canvas or Relation Map but they are too different
to reconcile.
Links
Links to a specific heading in another note will still point to the right
note, but the heading anchor will be dropped.
Dangling links (pointing to a note that doesn't exist) and ambiguous links
(same base name in 2+ notes) are unwrapped to plain text.